// 文件名：lc300-欧琳琳.cpp
// 提交链接：https://leetcode.cn/problems/longest-increasing-subsequence/submissions/
// 300. 最长递增子序列 - 中等题
// 完成日期：2024/09/10
// c++, 数组，二分查找，动态规划

class Solution {
public:
    int lengthOfLIS(vector<int>& nums) {
        if(nums.empty())
        {
            return 0;
        }
        int n=nums.size();
        vector<int>dp(n,1);
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<i;j++)
            {
                if(nums[i]>nums[j])
                {
                    dp[i]=max(dp[i],dp[j]+1);
                }
            }
        }
        return *max_element(dp.begin(), dp.end());
    }
};